package com.kitten.dataAlign.domain.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author kitten
 */
@Mapper
public interface DeleteMapper {
    /**
     * 日增量表: 关注计数变更 - 批量删除
     * @param tableNameSuffix
     * @param userIds
     */
    void batchDeleteDataAlignFollowingCountTempTable(@Param("tableNameSuffix")String tableNameSuffix, @Param("userIds")List<Long> userIds);

    /**
     * 日增量表: 粉丝计数变更 - 批量删除
     * @param tableNameSuffix
     * @param noteIds
     */
    void batchDeleteDataAlignFansCountTempTable(@Param("tableNameSuffix")String tableNameSuffix, @Param("noteIds")List<Long> noteIds);

    /**
     * 日增量表: 笔记点赞计数变更 - 批量删除
     * @param tableNameSuffix
     * @param noteIds
     */
    void deleteBatchFromDataAlignNoteLikeCountTempTable(@Param("tableNameSuffix") String tableNameSuffix,@Param("noteIds") List<Long> noteIds);

    /**
     * 日增量表: 笔记收藏计数变更 - 批量删除
     * @param tableNameSuffix
     * @param noteIds
     */
    void deleteBatchFromDataAlignNoteCollectCountTempTable(@Param("tableNameSuffix") String tableNameSuffix, @Param("noteIds") List<Long> noteIds);

    /**
     * 日增量表: 用户点赞计数变更 - 批量删除
     * @param tableNameSuffix
     * @param userIds
     */
    void deleteBatchFromDataAlignUserLikeCountTempTable(@Param("tableNameSuffix") String tableNameSuffix, @Param("userIds") List<Long> userIds);

    /**
     * 日增量表: 用户收藏计数变更 - 批量删除
     * @param tableNameSuffix
     * @param userIds
     */
    void deleteBatchFromDataAlignUserCollectCountTempTable(@Param("tableNameSuffix") String tableNameSuffix, @Param("userIds") List<Long> userIds);

    /**
     * 日增量表: 用户发布计数变更 - 批量删除
     * @param tableNameSuffix
     * @param userIds
     */
    void deleteBatchFromDataAlignUserPublishCountTempTable(@Param("tableNameSuffix") String tableNameSuffix, @Param("userIds") List<Long> userIds);
}
